package com.deco.dao.warpper.sys;

import com.deco.dao.delegate.sys.ICmsMenuDao;
import com.deco.dao.domain.table.CmsMenu;
import com.deco.dao.domain.table.CmsRole;
import com.deco.dao.logic.sys.CmsMenuDao;
import com.deco.domain.vo.sys.CmsMenuVo;
import com.free.ext.mybatis.warpper.BaseDaoWarpper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Repository
public class CmsMenuDaoWarpper extends BaseDaoWarpper<CmsMenuVo,Integer,CmsMenu> implements ICmsMenuDao {

    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    @Autowired
    private CmsMenuDao menuDao;

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/
    @Override
    public void registerEnums() {

    }

    @Override
    public List<CmsMenuVo> selectMenusByParentId(Integer parentId) {
        List<CmsMenu> menus = menuDao.selectMenusByParentId(parentId);
        return menus.stream().map(x -> convertTo(new CmsMenuVo(), x)).collect(Collectors.toList());
    }
    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
